import { VarInit } from "~/models/data/var_init";
import { Graph } from "../graph/graph";
import { INode } from "../graph/node/instance";
import { PNode } from "../graph/node/prototype";
import { ISlot } from "../graph/slot/instance";
import { PSlot } from "../graph/slot/prototype";
import { AnyType } from "~/models/types/any_type";
import { ChoiceType } from "../types/choice_type";
import { InterfaceType } from "../types/interface_type";
import { ListType } from "../types/list_type";
import { NullType } from "../types/null_type";
import { PremiumType } from "../types/premium_type";
import { UnionType } from "../types/union_type";
import { Project, ProjectStorage } from "../Project/Project";
import { Deserializer } from "./Deserializer";
import { TypeTemplate } from "../types/type_template";

export const Dzer = new Deserializer()
Dzer.register('PremiumType', PremiumType)
Dzer.register('VarInit', VarInit)
Dzer.register('Graph', Graph)
Dzer.register('INode', INode)
Dzer.register('PNode', PNode)
Dzer.register('ISlot', ISlot)
Dzer.register('PSlot', PSlot)
Dzer.register('AnyType', AnyType)
Dzer.register('ChoiceType', ChoiceType)
Dzer.register('InterfaceType', InterfaceType)
Dzer.register('ListType', ListType)
Dzer.register('NullType', NullType)
Dzer.register('UnionType', UnionType)
Dzer.register('ProjectStorage', ProjectStorage)
Dzer.register('Project', Project)
Dzer.register('TypeTemplate', TypeTemplate)
